Developer Documentation

QuickTime 4 API Documentation

QuickTime 4 Reference

| Previous | Chapter Contents | Chapter Top | Next |

Using a kTweenTypePathYtoX Tween Component

To use kTweenTypePathYtoX tween components, either absolute or delta, do the following:

  1. Create a QT atom container.
  2. Insert a kTweenEntry atom into the QT atom container for the tween.
  3. Insert a kTweenType atom that specifies the tween type into the kTweenEntry atom.
  4. Insert a kTweenData atom into the kTweenEntry atom.
  5. Perform the tweening operation, using QTDoTween .

Listing 18 shows how to create both kinds of kTweenTypePathYtoX tweens.

Listing 18 Creating kTweenTypePathYtoX tweens container

// kTweenTypePathYtoX - normal
err = CreateSamplePathTweenContainer( container, kTweenTypePathYtoX, 4,
                                        false, duration, 0, &tweenAtom );
if ( err ) goto bail;

err = QTNewTween( &tween, container, tweenAtom, duration );
if ( err ) goto bail;

for ( tweenTime = 0; tweenTime <= duration; tweenTime++ ) {
    Fixed absoluteXvalue;
    
    err = QTDoTween( tween, tweenTime, result, nil, nil, nil );
    if ( err ) goto bail;
    
    absoluteXvalue = *(Fixed *)*result;
}
    
err = QTDisposeTween( tween );

// kTweenTypePathYtoX - delta
err = CreateSamplePathTweenContainer( container, kTweenTypePathYtoX, 4,
                                        true, duration, 0, &tweenAtom );
if ( err ) goto bail;

err = QTNewTween( &tween, container, tweenAtom, duration );
if ( err ) goto bail;

for ( tweenTime = 0; tweenTime <= duration; tweenTime++ ) {
    Fixed deltaXvalue;
    
    err = QTDoTween( tween, tweenTime, result, nil, nil, nil );
    if ( err ) goto bail;
    
    deltaXvalue = *(Fixed *)*result;
}
    
err = QTDisposeTween( tween );

bail:
    if ( container ) QTDisposeAtomContainer( container );
    if ( result ) DisposeHandle( result );

© 1999 Apple Computer, Inc.

| Previous | Chapter Contents | Chapter Top | Next |